<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Descripcion de classFormulario
 *
 * @author Jonas Reyes
 */
class Formulario {
    //Clase incompleta
public $pagina_actual;
public $Action;
public $Method;
public $Class;
public $Id;

function __construct()
{

}

function __destruct()
{
    
}

public function checkFormValidarUsuarioSolicitudPermiso(){
    // variables recibidas del formulario
    $username=$_POST['username'];
    $password=$_POST['password'];
    $MsgError="";
    $error=0;
    if (!Core::ValidacionBasica($username)) {
        $MsgError.=Core::MsgError("Error, el Usuario introducido es invalido. "
            ."Por favor corrija el error y vuelva a intentarlo.".Core::Atras());
        $error=1;
    }
    if (!Core::ValidacionBasica($password)) {
        $MsgError.=Core::MsgError("Error, debe ingresar su contraseña. "
            ."Por favor corrija el error y vuelva a intentarlo.".Core::Atras());
        $error=1;
    }
    
    if ($error!=0) {
        return $MsgError;
        exit;
    }else{return true;}

}// Fin del Metodo

public function queryFormValidarUsuarioSolicitudPermiso(){

    // variables recibidas del formulario
    $username=$_POST['username'];
    $password=$_POST['password'];

    // datos para la consulta en la BD
    $bd=new BD();
    $consulta="SELECT * FROM empleados WHERE nick_usuario='$username' AND password=md5('$password');";
    $bd->Query($consulta);
    $numeroFilas=$bd->resultado->num_rows;
    if ($numeroFilas!=1) {
        return false;
    }
   return $empleado=$bd->Fetch('a');
}

public function FormValidarUsuarioSolicitudPermiso($action="form/motor.formulariospublicos.php",$method="POST",$id="formValidarUsuarioSolicitarPermiso",$clase="formPublico")
{
$htmlForm=<<<eof
<div id="CajaRespuestas">
<form class="$clase" name="$id" id="$id"
method="$method" action="$action">
    <fieldset class="fieldForm">
    <legend class="legendForm">Validacion de Datos de Empleado</legend>
    <table>
    <tr><td>
    <span class="spanInstrucciones">Ingrese los datos que se le piden a continuacion</span><br>
    <label class="labelText" for="username" >Usuario:</label><br>
    <input type="text" id="username" name="username" class="inputText"><br>
    <label class="labelText" for="password" >Contraseña</label><br>
    <input type="password" id="password" name="password" class="inputText">
    </td><td><span class="LogosForm"><img alt="PDF" src="imagenes/adobe-pdf.png" /></span></td></tr>
    <tr><td colspan="2">
    <span id="spanError" class="spanError"></span>
    <span class="spanBotones">
    <input type="submit" name="submit" id="btnSolicitarPermiso" value="Solicitar Permiso">
    <input type="reset" name="reset" id="btnresetSolicitarPermiso" value="Corregir">
    </span>
    </td></tr>
    </table>
    </fieldset>
    <input type="hidden" name="accion" value="ValidarUsuarioSolicitudPermiso">
</form>
</div>

eof;
    return $htmlForm;
}// Fin  de Metodo

public function FormNuevaSolicitudPermiso($empleado,$action="../form/motor.formulariospublicos.php",$method="POST",$id="formProcesarSolicitudPermiso",$clase="formPublico"){
$TiposPermisos=$this->GetOptionsTiposPermiso();
$AsuntosPermisos=$this->GetOptionsAsuntosPermiso();
$refCedula=$empleado['cedula'];
$password=$_POST['password'];
//$refDiaNac=$_POST['dia_nacimiento'];
//$refMesNac=$_POST['mes_nacimiento'];
//$refAnoNac=$_POST['ano_nacimiento'];
    $htmlForm=<<<eof
<div id="CajaRespuestas">
<form class="$clase" name="$id" id="$id"
method="$method" action="$action">
    <fieldset class="fieldFormAmplia">
    <legend class="legendForm">Plantilla de Solicitud de Permisos</legend>
    <table class="distForm">
    <tr><td colspan="3"><span class="spanInstrucciones">Ingrese los datos que se le piden a continuacion</span></td></tr>
    <tr><td>
    <label class="labelText" for="tipo_permiso" >Tipo de permiso:</label>
    <select class="selectLista" name="tipo_permiso" id="tipo_permiso">
    <option selected value="default">Seleccione un tipo</option>
    $TiposPermisos
    </select>
    </td>
<td colspan="2">
<label class="labelText" for="asunto_permiso">Asunto de su permiso:</label>
<select class="selectListaAsunto" name="asunto_permiso" id="asunto_permiso">
    <option selected value="default">Seleccione un Asunto</option>
    $AsuntosPermisos
    </select>
</td>
</tr>
<tr>
<td colspan="3">
<label class="labelText" for="fecha_inicio">Fecha inicio: <input name="fecha_inicio" id="fecha_inicio" /></label> <label class="labelText" for="fecha_fin">Fecha final: <input name="fecha_fin" id="fecha_fin" /></label>
</td>

</tr>
<tr><td colspan="3">
<label class="labelText" for="segmento_dia" >Segmento del dia:</label>
<select class="selectLista" name="segmento_dia" id="segmento_dia">
    <option selected value="Todo el Día">Todo el Día</option>
    <option value="Mañana">Mañana</option>
    <option value="Tarde">Tarde</option>
</select>
<span class="spanInstrucciones">Indique si el permiso será por fragmento del día.</span>
</td></tr>
    <tr><td colspan="3">
    <span id="spanError" class="spanError"></span>
    <span class="spanBotones">
    <input type="submit" name="submit" id="btnSolicitarPermiso" value="Solicitar Permiso">
    <input type="reset" name="reset" id="btnresetSolicitarPermiso" value="Corregir">
    <button type="button" name="btnAtras" class="btnNavegacion" onclick="javascript:location.href='../print.solicitar_permiso.php'">Cancelar</button>
    </span>
    </td></tr>
    </table>
    </fieldset>
    <input type="hidden" name="accion" value="ProcesarSolicitudPermiso">
    <input type="hidden" name="cedula" value="$refCedula">
    <input type="hidden" name="password" value="$password">
    <input type="hidden" name="id" value="{$empleado['id']}">
   <!-- <input type="hidden" name="dia_nacimiento" value="$refDiaNac">
    <input type="hidden" name="mes_nacimiento" value="$refMesNac">
    <input type="hidden" name="ano_nacimiento" value="$refAnoNac"> -->
</form>
</div>
<span id="spamGuardarPermiso" class="MsgError" style="display:none;background-color:#E0EAF8;border:#2F74D0 solid 2px;padding:5px;
font-size:14px;text-align:center;vertical-align:middle;font-family:helvetica,Arial,FreeSans;"><img class="imgError" style="display:inline;margin:0 10px 0 0;
vertical-align:middle;" src="../imagenes/dialog-information.png" alt="info.png"></img>Permiso Generado Exitosamente!
<br /><button type="button" name="btnAtras" class="btnNavegacion" onclick="javascript:location.href='../print.solicitar_permiso.php'">Terminar</button>
</span>

eof;
    return $htmlForm;
}//Fin de metodo

public function GetOptionsTiposPermiso(){
        $Options="";
        $bd= new BD();
        $consulta="SELECT nombre FROM tipos_permisos order by nombre;";
        $bd->Query($consulta);
        //<option value="01">01</option>
        while($tipoPermiso=$bd->resultado->fetch_assoc()){
            $Options.="\n<option value=\"".$tipoPermiso['nombre']."\">".$tipoPermiso['nombre']."</option>";
        }
        return $Options;
    }// Fin de Metodo

    public function GetOptionsAsuntosPermiso(){
        $Options="";
        $bd= new BD();
        $consulta="SELECT nombre FROM asuntos_permisos order by nombre;";
        $bd->Query($consulta);
        //<option value="01">01</option>
        while($asuntoPermiso=$bd->resultado->fetch_assoc()){
            $Options.="\n<option value=\"".$asuntoPermiso['nombre']."\">".$asuntoPermiso['nombre']."</option>";
        }
        return $Options;
    }// Fin de Metodo

    public function FormNuevoModeloPermiso($action="form/motor.formulariosadministracion.php",$method="POST",$id="formNuevoModeloPermiso",$clase="formPublico"){
    $htmlForm=<<<eof
<div id="CajaRespuestas">
<form class="$clase" name="$id" id="$id"
method="$method" action="$action">
    <fieldset class="fieldFormFormatoPermiso">
    <legend class="legendForm">Nuevo Formato de Permiso</legend>
    <table class="distForm">
    <tr><td colspan="3"><span class="spanInstrucciones">Ingrese los datos que se le piden a continuacion</span></td></tr>
    <tr><td colspan="2">
    <label class="labelText" for="nombreFormato" >Nombre del nuevo formato:</label>
    <input type="text" id="nombreFormato" name="nombreFormato" class="textFormato">
    <br>
    <label class="labelText" for="contenidoFormato" >Ingrese el nuevo formato:</label>
    <TEXTAREA name="contenidoFormato" class="areaFormato" id="contenidoFormato" rows="12" cols="80"></TEXTAREA>
    <label class="labelTextCheck" for="checkPredeterminacion"><input type="checkbox" value="s" id="checkPredeterminacion" name="checkPredeterminacion" class="checkFormato">¿Formato predeterminado?</label>
    </td><td>
    <div id="divAyuda"><span class="tituloAyuda">Etiquetas para la edicion:</span>
    ##fecha##, ##nombre_destinatario##, ##cargo_destinatario##, ##institucion_destinatario##, ##tipo_permiso##, ##asunto_permiso##, ##cedula##, ##firma##, ##fecha_inicio##
, ##fecha_final##, ##segmento##
    ##T ->.<br>
(*) Son obligatorias.
en caso de que se añadan tags no obligatorios se debera descomentar la invocacion de su metodo en la clase Permiso.
    </div>
    </td></tr>
    <tr><td colspan="3">
    <span id="spanError" class="spanError"></span>
    <span class="spanBotones">
    <input type="submit" name="submit" id="btnNuevoFormatoPermiso" value="Guardar Formato">
    <input type="reset" name="reset" id="btnresetNuevoFormatoPermiso" value="Corregir">
    </span>
    
    </table>
    </fieldset>
    <input type="hidden" name="accion" value="ProcesarNuevoFormatoPermiso">
</form>
</div>

eof;
    return $htmlForm;
    }//Fin del metodo

    public function checkFormNuevoModeloPermiso(){
        // variables recibidas del formulario
    $nombreFormato=$_POST['nombreFormato'];
    $contenidoFormato=$_POST['contenidoFormato'];
    $checkPredeterminacion=$_POST['checkPredeterminacion'];
    //echo("Nombre de Formato: ".$nombreFormato."<br>");
    //echo("Contenido de Formato: ".nl2br($contenidoFormato)."<br>");
    //echo("Predeterminacion de formato: ".$checkPredeterminacion."<br>");


    $MsgError="";
    $error=0;
    if (!Core::ValidacionBasica($nombreFormato)) {
        $MsgError.=Core::MsgError("Error, el nombre de formato introducido no es valido. "
            ."Por favor corrija el error y vuelva a intentarlo.".Core::Atras());
        $error=1;
    }
    if (!Core::ValidacionBasica($contenidoFormato)) {
        $MsgError.=Core::MsgError("Error, el contenido del nuevo formato introducido no es valido. "
            ."Por favor corrija el error y vuelva a intentarlo.".Core::Atras());
        $error=1;
    }

    
    if ($error!=0) {
        return $MsgError;
        exit;
    }else{return true;}
    }//   Fin de Metodo

    public function queryFormNuevoModeloPermiso(){
        //Creamos conexion con la BD
        $bd=new BD();
    // variables recibidas del formulario
    $nombreFormato=$_POST['nombreFormato'];
    $contenidoFormato=$_POST['contenidoFormato'];
    $checkPredeterminacion=$_POST['checkPredeterminacion'];
    //mysqli_affected_rows()
        if ($checkPredeterminacion=="s") {
            // si el formulario actual se propone como predeterminado,
            //modificamos todos los registros existentes para que en el campo
            //predeterminados tengan el valor de no, es decir, el caracter 'n'
            $consulta="UPDATE modelos_permisos SET predeterminado='n';";
            $bd->Query($consulta);
        }else{$checkPredeterminacion='n';}
        $nombreFormato=addslashes($nombreFormato);
        $contenidoFormato=addslashes($contenidoFormato);
    // datos para la consulta en la BD
    
    $consulta="INSERT INTO modelos_permisos(nombre,contenido,predeterminado) VALUES('$nombreFormato','$contenidoFormato','$checkPredeterminacion');";
    $bd->Query($consulta);
    $afectados=$bd->punteroBD->affected_rows;
    if ($afectados!=1) {
        return false;
    }
   return true;
}

public function viewFormatoPredeterminadoPermiso(){

    // variables recibidas del formulario
    //$checkPredeterminacion='s';
    //mysqli_affected_rows()
        if ($checkPredeterminacion=="") {
            $checkPredeterminacion='n';
        }
        $nombreFormato=addslashes($nombreFormato);
    // datos para la consulta en la BD
    $bd=new BD();
    $consulta="SELECT id,nombre,contenido FROM modelos_permisos WHERE predeterminado='s';";
    $bd->Query($consulta);
    $afectados=$bd->punteroBD->affected_rows;
    if ($afectados!=1) {
        return false;
    }
    $formato=$bd->resultado->fetch_assoc();
    $formatoContenido=$formato['contenido'];
    $cont='<fieldset class="fieldVerFormatoPermiso"><legend class="legendForm">'
    .stripslashes($formato['nombre'])
    .'</legend>'.stripslashes($formatoContenido)
    .'<br>'.Core::btnEditar("Editar este Formato","form/motor.formulariosadministracion.php?accion=editarFormatoPermiso&value=".$formato['id'])
    .'</fieldset>'
    .Core::Atras();
   return $cont;
}

public function viewFormato($idBase){

    // variables recibidas del formulario
    //$checkPredeterminacion='s';
    //mysqli_affected_rows()
        if ($checkPredeterminacion=="") {
            $checkPredeterminacion='n';
        }
    // datos para la consulta en la BD
    $bd=new BD();
    $consulta="SELECT * FROM modelos_permisos WHERE id=$idBase;";

$bd->Query($consulta);

$afectados=$bd->punteroBD->affected_rows;
    if ($afectados!=1) {
        return false;
    }
    $formato=$bd->resultado->fetch_assoc();
    $formatoContenido=nl2br($formato['contenido']);
    $cont='<fieldset class="fieldVerFormatoPermiso"><legend class="legendForm">'
    .stripslashes($formato['nombre'])
    .'</legend>'.$formatoContenido
    .'<br>'.Core::btnEditar("Editar este Formato","../form/motor.formulariosadministracion.php?accion=editarFormatoPermiso&value=".$formato['id'])
    .'</fieldset>'
    .Core::Atras();
   return $cont;
}

public function viewFormatosPermiso(){

    // variables recibidas del formulario
    //$checkPredeterminacion='s';
    //mysqli_affected_rows()

    // datos para la consulta en la BD
    $bd=new BD();
    $consulta="SELECT * FROM modelos_permisos;";
    $bd->Query($consulta);
   $cab_salida="<form action='form/motor.formulariosadministracion.php'"
   ." method='POST' class='PredeterminaFormatoPermiso'"
   ." id='FormPredeterminaFormatoPermiso' name='FormPredeterminaFormatoPermiso' >"
   ."<table class='tabGenerica' id='tabCheckFormatos'><tr><th>#</th><th>Nombre del Formato</th><th>Predeterminado</th><th>&nbsp;</th></tr>";
   $datos_salida="";
   $fin_salida="</table><input type='hidden' name='accion' value='GuardarCheckFormatoPredeterminado' ></form>".Core::Atras();
   $i=0;
   while($formato=$bd->resultado->fetch_assoc()){
       if ($formato['predeterminado']=='s') {
            $checked="checked";
        }else{$checked="";}
       $datos_salida.="<tr><td>".$i++."</td><td><a class='enlaceListaCheck' href='form/motor.formulariosadministracion.php?accion=MuestraContenidoFormatoPermiso&value=".$formato['id']."'>".stripslashes($formato['nombre'])."</a></td><td><input type='radio' value='".$formato['id']."' class='checkPre' name='checkPredeterminacion' id='checkPredeterminacion' $checked></td><td><input type='submit' name='guardar' value='Aplicar' ></td></tr>";

   }

$cont=<<<eof
<div id="capas">
<div class="marcoImg">
<img class="imgForm" alt="nuevoEmpleado" src="imagenes/viewFormatosPermisos.png" />
</div>
$cab_salida $datos_salida $fin_salida
</div>
eof;
   return $cont;
}

public function viewFormatoPDF(){

    // variables recibidas del formulario
    //$checkPredeterminacion='s';
    //mysqli_affected_rows()
        if ($checkPredeterminacion=="") {
            $checkPredeterminacion='n';
        }

    // datos para la consulta en la BD
    $bd=new BD();
    $consulta="SELECT contenido FROM modelos_permisos WHERE predeterminado='s';";
    $bd->Query($consulta);
    $afectados=$bd->punteroBD->affected_rows;
    if ($afectados!=1) {
        return false;
    }
    $formato=$bd->resultado->fetch_assoc();
    $pdf=" ".stripslashes($formato['contenido']);
   return $pdf;
}


    public function EditFormNuevoModeloPermiso($idBase,$action="../form/motor.formulariosadministracion.php",$method="POST",$id="formNuevoModeloPermiso",$clase="formPublico"){
    // datos para la consulta en la BD
    $checked="";
    $bd=new BD();
    $consulta="SELECT * FROM modelos_permisos WHERE id=$idBase;";
    $bd->Query($consulta);
    $afectados=$bd->punteroBD->affected_rows;
    if ($afectados!=1) {
        return false;
    }
    $formato=$bd->resultado->fetch_assoc();
    if ($formato['predeterminado']=="s") {
            $checked="checked";
        }

        $nom=stripslashes($formato['nombre']);
        $cont=stripslashes($formato['contenido']);

    $htmlForm=<<<eof
<div id="CajaRespuestas">
<form class="$clase" name="$id" id="$id"
method="$method" action="$action">
    <fieldset class="fieldFormFormatoPermiso">
    <legend class="legendForm">Nuevo Formato de Permiso</legend>
    <table class="distForm">
    <tr><td colspan="3"><span class="spanInstrucciones">Ingrese los datos que se le piden a continuacion</span></td></tr>
    <tr><td colspan="2">
    <label class="labelText" for="nombreFormato" >Nombre del nuevo formato:</label>
    <input type="text" id="nombreFormato" name="nombreFormato" class="textFormato" value="$nom">
    <br>
    <label class="labelText" for="contenidoFormato" >Ingrese el nuevo formato:</label>
    <TEXTAREA name="contenidoFormato" class="areaFormato" id="contenidoFormato" rows="12" cols="80">$cont</TEXTAREA>
    <label class="labelTextCheck" for="checkPredeterminacion"><input type="checkbox" value="si" id="checkPredeterminacion" name="checkPredeterminacion" class="checkFormato" $checked>¿Formato predeterminado?</label>
    </td><td>
    <div id="divAyuda"><span class="tituloAyuda">Etiquetas para la edicion:</span>
    ##fecha##, ##nombre_destinatario##, ##cargo_destinatario##, ##institucion_destinatario##, ##tipo_permiso##, ##asunto_permiso##, ##cedula##, ##firma##, ##fecha_inicio##
, ##fecha_final##, ##segmento##
    ##T ->.<br>
(*) Son obligatorias.
en caso de que se añadan tags no obligatorios se debera descomentar la invocacion de su metodo en la clase Permiso.
    </div>
    </td></tr>
    <tr><td colspan="3">
    <span id="spanError" class="spanError"></span>
    <span class="spanBotones">
    <input type="submit" name="submit" id="btnNuevoFormatoPermiso" value="Guardar Formato">
    <input type="reset" name="reset" id="btnresetNuevoFormatoPermiso" value="Corregir">
    </span>

    </table>
    </fieldset>
    <input type="hidden" name="accion" value="ActualizarFormatoPermiso">
<input type="hidden" name="id" value="$idBase">
</form>
</div>

eof;
    return $htmlForm;
    }//Fin del metodo

 public function updateFormModeloPermiso(){

    // variables recibidas del formulario
    $id=$_POST['id'];
    $nombreFormato=$_POST['nombreFormato'];
    $contenidoFormato=$_POST['contenidoFormato'];
    $checkPredeterminacion=$_POST['checkPredeterminacion'];
    //mysqli_affected_rows()
        $bd=new BD();

        if ($checkPredeterminacion=="") {
            $checkPredeterminacion='n';
        }else{
                $consulta="UPDATE modelos_permisos SET predeterminado='n';";
                $bd->Query($consulta);
        }
        $nombreFormato=addslashes($nombreFormato);
        $contenidoFormato=addslashes($contenidoFormato);
    // datos para la consulta en la BD




    $consulta="UPDATE modelos_permisos SET nombre='$nombreFormato',contenido='$contenidoFormato',predeterminado='$checkPredeterminacion' WHERE id=$id";
    $bd->Query($consulta);
    $afectados=$bd->punteroBD->affected_rows;
    if ($afectados==1) {
        return true;
    }
   return false;
}// Fin de metodo

 public function updateFormatoPredeterminado($idBase){

    // variables recibidas del formulario
    $idBase;
    $checkPredeterminacion='s';
    // datos para la consulta en la BD
    $bd=new BD();
    $consulta="UPDATE modelos_permisos SET predeterminado='n';";
    $bd->Query($consulta);
    $consulta="UPDATE modelos_permisos SET predeterminado='$checkPredeterminacion' WHERE id=$idBase;";
    $bd->Query($consulta);
    $afectados=$bd->punteroBD->affected_rows;
    if ($afectados==1) {
        return true;
    }
   return false;
}// Fin de metodo

public function FormAgregarEmpleado($action="form/motor.formulariosadministracion.php",$method="POST",$id="FormAgregarEmpleado",$clase="agregarEmpleado"){
    $diasMes=Core::GetOptionsDiasMes();
    $mesesAno=Core::GetOptionsMeses();
    $form=<<<eof


<div id="centraForm">
<form id="$id" class="$clase" name="$id" action="$action" method="$method">

<div id="capas">
<div class="marcoImg">
<img class="imgForm" alt="nuevoEmpleado" src="imagenes/addEmpleadoBarra.png" />
</div>
<div id="subForm1" class="marcoImg2">
<label class="labelNombres" for="nombre1">1er. Nombre</label><input type="text" name="nombre1" id="nombre1" class="inpuTextNombres"/>    
            <label class="labelApellidos" for="apellido1">1er. Apellido</label><input type="text" name="apellido1" id="apellido1" class="inpuTextApellidos"/>
            <label class="labelCedula" for="cedula">Cedula</label><input type="text" name="cedula" id="cedula" class="inpuTextCedula"/>
            <label class="label2Nac" for="dia_nac">Fecha Nacimiento</label><span class="inputsForm"><select id="dia_nac" name="dia_nac" class="selectDia">
            <option selected value="default">Dia</option>
            $diasMes
            </select><select id="mes_nac" name="mes_nac" class="selectMes">
            <option selected value="default">Mes</option>
            $mesesAno
            </select><input type="text" name="ano_nac" id="ano_nac" class="inputFecha"/></span>
            <label class="labelSexo" for="sexo">Sexo</label><span class="inputsForm"><select id="sexo" name="sexo" class="selectSexo">
            <option selected value="default">seleccionar</option>
            <option value="f">Femenino</option>
            <option value="m">Masculino</option>
            </select></span>
<label class="labelNombres" for="username">Nombre de Usuario</label><input type="text" name="username" id="username" class="inputTextNombres"/>
            <label class="labelPassword" for="password1">Contraseña</label><input type="password" name="password1" id="password1" class="inputTextPassword"/>
            <label class="labelPassword" for="password2">Repita Contraseña</label><input type="password" name="password2" id="password2" class="inputTextPassword"/>


</div>
<div id="subForm2" class="marcoImg3">
<label class="labelNombres" for="nombre2">2do. Nombre</label><input type="text" name="nombre2" id="nombre2" class="inpuTextNombres"/>
<label class="labelApellidos" for="apellido2">2do. Apellido</label><input type="text" name="apellido2" id="apellido2" class="inpuTextApellidos"/>

<label class="labelCodEmpleado" for="cod_empleado">Codigo Empleado</label><input type="text" name="cod_empleado" id="cod_empleado" class="inputCodEmpleado"/>

<label class="labelCargo" for="cargo">Cargo</label><input type="text" name="cargo" id="cargo" class="inputCargo"/>
            <label class="label2Nac" for="dia_ing">Fecha Ingreso</label><span class="inputsForm"><select id="dia_ing" name="dia_ing" class="selectDia">
            <option selected value="default">Dia</option>
            $diasMes
            </select><select id="mes_ing" name="mes_ing" class="selectMes">
            <option selected value="default">Mes</option>
            $mesesAno
            </select><input type="text" name="ano_ing" id="ano_ing" class="inputFecha"/></span>

            <label class="labelEmail" for="email1">E-Mail</label><input type="text" name="email1" id="email1" class="inputTextEmail" />
            <label class="labelEmail" for="email2">Repita E-Mail</label><input type="text" name="email2" id="email2" class="inputTextEmail" />
</div>
<div id="submitForm"><input class="boton" type="submit" id="submitEmpleado" name="submitEmpleado" value="Agregar Empleado" /><input class="boton" type="reset" id="resetEmpleado" name="resetEmpleado" value="Corregir" /></div>
</div>


<input type="hidden" name="accion" value="AgregarEmpleado">
</form></div>



eof;
    $form.=Core::Atras();
return $form;
}// Fin de metodo FormAgregarEmpleado()


public function queryFormAgregarEmpleado(){

    // variables recibidas del formulario
    $nombre1=$_POST['nombre1'];
    $nombre2=$_POST['nombre2'];
    $apellido1=$_POST['apellido1'];
    $apellido2=$_POST['apellido2'];
    $cedula=$_POST['cedula'];
    $fechanacimiento=$_POST['ano_nac']."-".$_POST['mes_nac']."-".$_POST['dia_nac'];
    $codigoempleado=$_POST['cod_empleado'];
    $sexo=$_POST['sexo'];
    $cargo=$_POST['cargo'];
    $fechaingreso=$_POST['ano_ing']."-".$_POST['mes_ing']."-".$_POST['dia_ing'];
    $username=$_POST['username'];
    $password1=$_POST['password1'];
    $email1=$_POST['email1'];

    // datos para la consulta en la BD
    $bd=new BD();
    $consulta=<<<eof
INSERT INTO `empleados` (`cedula`,`cod_empleado`,`nombre1`,`nombre2`,`apellido1`,`apellido2`,`sexo`,`cargo`,`fecha_ingreso`,`fecha_nacimiento`,`nick_usuario`,`password`,`email`) VALUES
('$cedula','$codigoempleado','$nombre1','$nombre2','$apellido1','$apellido2','$sexo','$cargo','$fechaingreso','$fechanacimiento','$username',md5('$password1'),'$email1');
eof;
    $bd->Query($consulta);
    $afectados=$bd->punteroBD->affected_rows;
    if ($afectados!=1) {
        return false;
    }
   return true;
}//Fin de metodo

public function validaFormAgregarEmpleado(){

    // variables recibidas del formulario
    $nombre1=$_POST['nombre1'];if (!Core::ValidacionBasica($nombre1)) {Core::MsgError("Error, debe ingresar su primer nombre.".Core::Atras()); exit;return false;}
    //$nombre2=$_POST['nombre2'];if (!Core::ValidacionBasica($nombre2)) {return Core::MsgError("Error, debe ingresar su segundo nombre."); }
    $apellido1=$_POST['apellido1'];if (!Core::ValidacionBasica($apellido1)) {Core::MsgError("Error, debe ingresar su primer apellido.".Core::Atras()); exit;return false; }
    //$apellido2=$_POST['apellido2'];if (!Core::ValidacionBasica($apellido2)) {return Core::MsgError("Error, debe ingresar su segundo apellido."); }
    $cedula=$_POST['cedula'];if (!Core::ValidacionBasica($cedula)) {Core::MsgError("Error, debe ingresar su numero de cédula.".Core::Atras()); exit;return false; }
    $anyonac=$_POST['ano_nac'];if (!Core::ValidacionBasica($anyonac)) { Core::MsgError("Error, debe indicar el año de de su nacimiento.".Core::Atras()); exit;return false; }
    $mesnac=$_POST['mes_nac'];if ($mesnac=="default") { Core::MsgError("Error, debe indicar el mes de su nacimiento.".Core::Atras()); exit;return false; }
    $dianac=$_POST['dia_nac'];if ($dianac=="default") { Core::MsgError("Error, debe indicar el dia de su nacimiento.".Core::Atras()); exit;return false; }
    $fechanacimiento=$_POST['ano_nac']."-".$_POST['mes_nac']."-".$_POST['dia_nac'];if (!Core::ValidacionBasica($fechanacimiento)) { Core::MsgError("Error, debe indicar su fecha de nacimiento.".Core::Atras()); exit;return false; }
    $sexo=$_POST['sexo'];if ($sexo=="default") { Core::MsgError("Error, debe indicar su sexo.".Core::Atras()); exit;return false; }

    $codigoempleado=$_POST['cod_empleado'];if (!Core::ValidacionBasica($codigoempleado)) { Core::MsgError("Error, debe indicar su codigo de empleado del Cabildo Metropolitano.".Core::Atras()); exit;return false;}
    $cargo=$_POST['cargo'];if (!Core::ValidacionBasica($cargo)) { Core::MsgError("Error, debe indicar su cargo.".Core::Atras()); exit;return false; }
    $anyo=$_POST['ano_ing'];if (!Core::ValidacionBasica($anyo)) { Core::MsgError("Error, debe indicar el año de ingreso al Cabildo Metropolitano.".Core::Atras()); exit;return false; }
    $mes=$_POST['mes_ing'];if ($mes=="default") { Core::MsgError("Error, debe indicar el mes de ingreso al Cabildo Metropolitano.".Core::Atras()); exit;return false; }
    $dia=$_POST['dia_ing'];if ($dia=="default") { Core::MsgError("Error, debe indicar el dia de ingreso al Cabildo Metropolitano.".Core::Atras()); exit;return false; }
    $fechaingreso=$_POST['ano_ing']."-".$_POST['mes_ing']."-".$_POST['dia_ing'];if ($fechaingreso=="default") { Core::MsgError("Error, debe indicar la fecha de ingreso al Cabildo Metropolitano.".Core::Atras()); exit;return false; }
    $username=$_POST['username'];if (!Core::ValidacionBasica($username)) { Core::MsgError("Error, debe ingresar su nombre de usuario.".Core::Atras()); exit;return false; }
    $password1=$_POST['password1'];if (!Core::ValidacionBasica($password1)) { Core::MsgError("Error, debe ingresar su Contraseña.".Core::Atras()); exit;return false; }
    $password2=$_POST['password2'];if (!Core::ValidacionBasica($password2)) { Core::MsgError("Error, debe ingresar la repeticion de su Contraseña.".Core::Atras()); exit;return false; }
    $email1=$_POST['email1'];if (!Core::ValidacionBasica($email1)) { Core::MsgError("Error, debe ingresar su E-Mail.".Core::Atras()); exit;return false;}
    $email2=$_POST['email2'];if (!Core::ValidacionBasica($email2)) { Core::MsgError("Error, debe ingresar la repetición de su E-Mail.".Core::Atras()); exit;return false; }
    if ($password1!=$password2) { Core::MsgError("Error, su password no coincide con la repeticion del mismo.".Core::Atras()); exit;return false; }
    if ($email1!=$email2) { Core::MsgError("Error, su E-Mail no coincide con la repeticion del mismo.".Core::Atras()); exit;return false; }
    
    // datos para la consulta en la BD
    $bd=new BD();
    $consulta="SELECT cedula from empleados WHERE cedula='$cedula';";
    $bd->Query($consulta);
    $numFilas=$bd->resultado->num_rows;
    if ($numFilas>0) {Core::MsgError("Error, el numero de cedula aportada"
            ." ya esta siendo usado por otro empleado en el sistema. Por favor "
            ."verifique nuevamente sus datos, si el problema persiste "
            ."comuníquese con el administrador del Sistema: Jonás Reyes "
            ."(jonasrey@gmail.com) - 0212-481.31.38. Comisión Permanente de "
            ."Contraloría.".Core::Atras()); exit;return false;}

    $consulta="SELECT cod_empleado from empleados WHERE cod_empleado='$codigoempleado';";
    $bd->Query($consulta);
    $numFilas=$bd->resultado->num_rows;
    if ($numFilas>0) {Core::MsgError("Error, el codigo de empleado '$codigoempleado'"
            ." ya esta siendo usado por otro usuario en el sistema. Por favor "
            ."verifique nuevamente sus datos, si el problema persiste "
            ."comuníquese con el administrador del Sistema: Jonás Reyes "
            ."(jonasrey@gmail.com) - 0212-481.31.38. Comisión Permanente de "
            ."Contraloría.".Core::Atras()); exit;return false;}

    $consulta="SELECT nick_usuario from empleados WHERE nick_usuario='$username';";
    $bd->Query($consulta);
    $numFilas=$bd->resultado->num_rows;
    if ($numFilas>0) { Core::MsgError("Error, el nombre de usuario ingresado"
            ." ya esta siendo usado por otro empleado en el sistema. Por favor "
            ."pruebe ingresar un alias o nombre de usuario distinto.".Core::Atras()); exit;return false;}
   return true;
}//Fin de metodo

public function FormGenerarNumeroCorrespondencia($action="form/motor.formulariospublicos.php",$method="POST",$id="formGenerarNumeroCorrespondencia",$clase="formPublico"){
//Formulario que debe requerir la identificacion de quien solicita un nuevo
//numero de correspondencia. Se requerira el codigo de empleado y su contraseña.
if (!Core::ValidarExistencia($action)) {
        $action="../".$action;
        if (!Core::ValidarExistencia($action)) {
        $action="../".$action;
    }
    }
$IMG="imagenes/mail-forward.png";
if (!Core::ValidarExistencia($IMG)) {
        $IMG="../".$IMG;
        if (!Core::ValidarExistencia($IMG)) {
        $IMG="../".$IMG;
    }
    }
?>
<div id="CajaRespuestas">
<form class="<?=$clase?>" name="<?=$id?>" id="<?=$id?>"
method="<?=$method?>" action="<?=$action?>">
    <fieldset class="fieldFormNumeroCorrespondencia">
    <legend class="legendForm">Generar nuevo numero de correspondencia</legend>
    <table>
    <tr><td colspan="3"><span class="spanInstrucciones">Introduzca los datos requeridos a continuación.</span></td></tr>
    <tr><td></td><td><label class="labelTextNC" for="cod_empleado" >Codigo de Empleado</label></td>
    <td><label class="labelTextNC" for="password" >Contraseña</label></td></tr>
    <tr><td><span class="LogosForm"><img alt="PDF" src="<?=$IMG;?>" /></span></td><td><input maxlength="4" type="text" id="cod_empleado" name="cod_empleado" class="inputTextNC"></td>
    <td>
    <input maxlength="15" type="password" id="password" name="password" class="inputTextNC">
    <input type="submit" name="submit" id="btnGenerarNumeroCorrespondencia" value="Generar">
    </td></tr>
    <tr><td colspan="3">
    <span id="spanError" class="spanError"></span>
    </td></tr>
    </table>
    </fieldset>
    <input type="hidden" name="accion" value="GenerarNumeroCorrespondencia">
</form>
</div>
<?
}

public function GenerarNumeroCorrespondencia(){
$password=$_POST['password'];
$cod_empleado=$_POST['cod_empleado'];
if (!Core::ValidacionBasica($cod_empleado)) {
        return Core::MsgError("Error, debe ingresar el codigo de empleado.".Core::Atras());
    }
if (!Core::ValidacionBasica($password)) {
        return Core::MsgError("Error, debe ingresar su contraseña.".Core::Atras());
    }

    $bd=new BD();
    $consulta="SELECT * FROM empleados WHERE cod_empleado='$cod_empleado' AND password=md5('$password')";
    $bd->Query($consulta);
    $numFilas=$bd->resultado->num_rows;
    if ($numFilas==1) {
        $numero=$this->obtenerUltNumCorresp()+1;
        $ano=Core::GetAno();
        $fecha=Core::GetDateTime('f');
        //return Core::Msg("Respuesta de Prueba(numero: $numero, año: $ano, Cod_empleado: $cod_empleado, fecha: $fecha)");
        if ($empleado=$bd->Fetch('A')) {
            $sexo=$empleado['sexo'];
            $nombreEmpleado=$empleado['nombre1']." ".$empleado['apellido1'];
            $distincion="el ciudadano";
            if ($sexo=="F") {
                $distincion="la ciudadana";
            }
            $consulta="INSERT INTO saliente(numero,anio,cod_empleado,fecha_generado) VALUES($numero,$ano,$cod_empleado,$fecha);";
            $bd->Query($consulta);
            $afectados=$bd->punteroBD->affected_rows;
            if ($afectados==1) {
                Core::MsgExito("Correcto, el numero de correspondencia <b>$numero</b> está disponible para $distincion <b>$nombreEmpleado</b>.".Core::Atras());
                return true;
            }else {
                return Core::MsgError("Error, no se pudo guardar el numero "
                    ."generado en la BD. Consulte inmediatamente con el administrador del sistema.".Core::Atras());
            }
        }
    }else {
        return Core::MsgError("Error, empleado invalido. Verifique su codigo de empleado y su contraseña.".Core::Atras());
    }



}

public function obtenerUltNumCorresp(){
    $bd=new BD();
    $consulta="SELECT max(numero) numero FROM saliente;";
    @$bd->Query($consulta);
    @$numFilas=$bd->resultado->num_rows;
    if ($numFilas!=1) {
        return Core::MsgError("Error, no se pudo obtener el numero de "
            ."correspondencia mas reciente, debido a un problema con la Base de Datos.");
    }
    if (@$Dato=$bd->Fetch('A')) {
        $numero=str_pad($Dato['numero'], 4,'0',STR_PAD_LEFT);
        return $numero;
    }else {
        return Core::MsgError("Error, la consulta se realizó pero falló la "
            ."conversion a matriz. Metodo 'obtenerUltNumCorresp()'");
    }
    
}

public function viewNumeroCorrespondencia($IMG="imagenes/edita1.gif"){
    if (!Core::ValidarExistencia($IMG)) {
            $IMG="../".$IMG;
            if (!Core::ValidarExistencia($IMG)) {
            $IMG="../".$IMG;
        }
        }

    if ($numero=$this->obtenerUltNumCorresp()) {}else {
        return Core::MsgError("No està disponible el ultimo numero de correspondencia.");
    }
    $view=<<<eof
<div id="divViewNumCorresp"><a target="iframePrincipal" href="form/motor.formulariospublicos.php?accion=FormGenerarNumeroCorrespondencia">
<span class="textViewNumCorresp">Ultimo numero emitido de correspondencia</span></a>
<img class="imgError" style="display:inline;vertical-align:middle;" src="$IMG" alt="Correspondencia"></img>
    <span class="spanLoadNumCorrespondencia" id="LoadNumCorrespondencia"></span>
</div>
eof;
    return $view;
}



// Fin de la Clase
}
?>